"""
@Project ：Python 
@File    ：06-数据容器的切片.py
@IDE     ：PyCharm 
@Author  ：DongCha
@Date    ：2023/11/8 0008 11:35 
"""

# 序列是指：内容连续、有序、可使用下标索引的一类数据容器
# 之前的列表、元组、字符串均可视为序列

# 序列支持切片，即：从一个序列中，取出一个子序列
# 语法：
# 序列[起始下标:结束下标:步长]
# 表示从序列中，从指定位置开始，依次取出元素，到指定位置结束，得到一个新序列
# 起始下标/结束下标均可留空，视为从头开始/截取到结尾
# 步长表示依次去取元素的间隔，默认为1，可以留空，表示每次跳过N-1个元素，为负数表示反向取，起始下标和结束下标也要反向标记

# 对List进行切片，从1开始，4结束，步长为3
List_a = [0, 1, 2, 3, 4, 5, 6]
print(List_a[1:4:3])

# 对元组进行切片，从1开始，最后结束，步长为1
tuple_a = (0, 1, 2, 3, 4, 5, 6)
print(tuple_a[1::])

# 对str进行切片，从头开始，最后结束，步长2
str_a = "abcdefg"
print(str_a[::2])

# 对str进行切片，从头开始，最后结束，步长-1
print(str_a[::-1])

# 对列表进行切片，从3开始，到1结束，步长-1
print(List_a[3:1:-1])

# 对元组进行切片，从头开始，最后结束，步长-2
print(tuple_a[::-2])

# 有字符串："万过薪月，员序程马黑来，nohtyP学"
# 得到"黑马程序员"
str_b = "万过薪月，员序程马黑来，nohtyP学"
print(str_b[::-1].replace("来", "").split("，")[1])

